Category: Accessible Games
hey guys!
working on an audio game called rat attack. the storyline goes: you were walking around going about your business when you tripped into an open sewer. the cover was left off by mistake. now not only do you have to find an exit, but you have to kill rats with a lazer gun, and avoid waist pools while looking for portals to advance you closer to the exit.
the link for the 0.2 version is: http://dl.dropbox.com/u/8104423/ratatack.exe
it's a side scroller: move around using right and left aro, shoot with space, check health- h, check amo -a.
Ooh, this sounds like a really neat and fun game! I'll have to check it out.
it's pretty cool. the new 0.3 is almost here!
This sounds seriously disturbing and very cool. Will have to download soon, *grin*
Hmm all in mono and no rats, plus makes the CPU fan run hot, and doesn't launch a window so you're in whatever foreground yu were. If it's your voice, you're still quite young yet but sounds like you were using an engine of sorts. Perhaps it needs to generate a foreground.
I was running on XP
yes, used an engine. rat's appear randomly at gameplay. each game is random- you'll find one. the water is a waist pit. the creaky sound is a portal. Hmm all in mono and no rats, plus makes the CPU fan run hot, and doesn't launch a window so you're in whatever foreground yu were. If it's your voice, you're still quite young yet but sounds like you were using an engine of sorts. Perhaps it needs to generate a foreground.
I was running on XP
http://dl.dropbox.com/u/8104423/ratatack.exe
link above is to the rat attack 0.3. replace the ol d version.
Bill, you seriously should consider using the comAudio SDK for this game.
I may. but I think the game should be freeware, and if I have to charge users to pay for the costs of aan SDK, then no. The guy who started this game(klango ID firestorm) wanted this game to be freeware.
ComAudio doesn't cost you anything. Get it at dzkgames.weisi4u.de, and make it a requirement for your game; the users have to install it. It is free!
What about the stuff that was used by other game developers of free games? I'm not sure what they used but nothing had to be installed. You simply play the game.
i'm trying to keep the game easy-to-use. do you get it? no dependencies! get it? usibility? user-friendliness? does that click in your mind? as a game dev don't you think about that kind of thing?
So the games from BSC Games and L-Works aren't user friendly? I've never programmed a thing in my life and, funny thing, they're pretty usable to me.
and those aren't free games
Bill, I know about user-freidnliness. But I think that you are taking this whole user-friendliness thing too far. You didn't give the game a window because you cliam that it, quote, gave the end-user more to think about, end-quote. Note that just about all other games have windows. They all have windows. Same thing with the comAudio SDK. If you use this, people could be able to hear the rats off to their left or right without having to worry about getting confused. They could hear the teleporter sound looping in their right speaker so as to be able to pass through it and find it when they wanted to. I tested our your v0.3 release. I will say it flatly. I was, not, impressed. After all you are just walking around aimlessly picking up health packs.
Yes, both sites have free games. BSC Games has Deekout, Finger Panic, Sonic Match, Bobby's Revenge and Crazy Darts. L-Works has The Great Toy Robbery, Super Egg Hunt, Duck Hunt and Lockpick. Several of these games are shooter and/or retrieval style and require you to have the enemy or objects at the centre of the screen, or as close as possible. All of them are very easy to use and have their own windows. As for Rat Attack, it still sounds like a neat idea. It just needs a little improvement.
Bill is a very obstinate kid. I know him from Klango. He refused to take much of any of the new ideas that we suggested to him, even though they were good ones. I doubt he will incorporate comAudio, nor will he give the game a window.
link doesn't work. dzkgames.tk does, but still, .tk? pay for a domain so you can actually host your games! if these cheap people behind the company can't host a domain with the money they've made from game dev then shut down. anyway, end of rant. link doesn't work, and it's on dropbox which that link doesn't work as well.
here's a new release! used many of your ideas...
http://dl.dropbox.com/u/8104423/ratatack.exe
added new features- check them out!
OK key was full. I added:
a window!
stthe storyline now works!
rat's are now 5 times more llikely to appear!
Hmm. It's better, I suppose so. How do you use the rat machine?
the rat machine is a very odd thing. if a rat is present, it will not die, it'll vanish. if a rat isn't present, it'll create a vanisshing rat and then a regular one. by the way, I look at the code for battle zone and tthe sounds as well. nice using e speak for all your speech!
Bill as a programmer who didn't even get your game:
You are gonna rape people's processors. Your "rat generator" should destroy the rat and quit creating unnecisary instances of the vanished rat.
OK. first off, thr game run's fine on my machine- 1 GB of ram and an AMD processer. it's probably because your processer's less then 1GHZ, or you have less than a gig of RAM. read post 24, I sayd if a rat isn't present.
Bill,
system requirements aside, multiple instances of anything unnecessary, but especially something that got destroyed, is not good.
My system requirements far exceed what you posted and the game made my fan speed up. It doesn't matter how much RAM and power you have, multi threads / instances always always always clocks more, consumes more, and can be a general pain in the ass especially for basic users who don't know anything except their fan is speeding up and their computer is slow / they have an hourglass often.
I haven't looked at the code / language you're using but basic concept:
Always release all processes / com objects you're not using anymore, aka a monster dies. The only way you can properly do this is either by establishing relevant pointers or maintaining a collection of objects / variables that point to said objects.
This isn't Tiffanitsa's windowless world where one program commandeers the entire OS so can go hog-wild / crash stuff, common in DOS days not so acceptable now.
Not being a hardass for nothin' about this, it's the way you're gonna learn, and ultimately you're gonna find work. Welcome to software, where everything you write may be placed, and expected to work, upon any number of configurations you didn't count on. Good programming / garbage collection skills are a must, that's not just for C++ / C# programmers. I've been developing in high-level languages exclusively for 15 years and I do it, religiously, even when the language reference claims you don't have to. Do it anyway, so that you, the programmer, know precisely when something is destroyed, and can deliver a dependable solution to your users. One thing I have a tough time with regarding *some* of these open-source communities, is the way *some* of them have a decidedly junior attitude about their users: you're the developer, they are your personal responsibility when using your program so be careful you don't fuck up their systems, they basically don't know how to unfuck it up. If you do garbage collection, create a window so you have an HWND / HPARENT to hold onto / release on time / receive messages (like priority) from the operating systems, that all classes as basic safeguards against doing that to your users.
They're your users, so they're your responsibility, screw what *some* of the open source / freeware people say about users being losers, we enterprise people are right about this. Your users are your responsibility screw what Eulas say. Eulas are for lawyers, you're an engineer. Deal.
http://dl.dropbox.com/u/8104423/ratatack.exe
that link is for a new release, the only change is that I added a 15 MS sleep in my main while 1+2=3 loop that checks your health. should help.
Bill uses autoIt, a much inferior language to BGT I must say. You get very little control over sound playback and other things unless you use comAudio. You see, autoIt wasn't made specially for games like BGT was. But Bill refuses to switch languages. Something tells me that he is daunted by BGT's learning curve. Well if you look at my code for battle zone Bill, you will be even more daunted still, because the code is a mammoth piece of work, and I myself wouldn't like going line by line through my code and seeing what each line does, if i were looking at it for the first time, because of the sheer length of the monster. AutoIt code is more like BASIC, which I find rather inferior to BGT's c-style language. Anyway I like my game a lot better than Rat Attack because everything runs in realtime and sapi doesn't interrupt your moving and shooting and firing and stuff. I don't think my game hogs system resources either. Im not sure about bill's game though. I don't really notice whether my fan ran hot while I played his game.
So this kind of game can be created with BASIC or QuickBASIC? Interesting. I thought that purely audio games could work in that environment but wasn't sure. As for crashing things, that's not a good idea in any operating system. How do I avoid this if I choose to create a game like this in QB? It might be an interesting experiment. Also, I couldn't understand why you'd make something that's supposed to be destroyed reappear. Granted, I don't know the code to make it go away, but it doesn't make sense to have it come back once it's dead.
well ha, I can't even move around in the main menu even after quitting jaws. i'll try it again.
I went through sound-by-sound too, quite funny and interesting.
The problem isn't that it's 'coming back', it's that the pointer, or reference, to the object went away. I haven't looked at AutoIt as a language but whatever you use for handles, objects, grips, you need to a. store in variable / array / collection, and b. release on end of use. As to reading code, don't start line by line, start module by module, in other words, start general to specific. This is why engineers use design outlines and source control and well-commented changes so they can look at dependency relationships first and get a picture of the whole application. When you have such an understanding it's a lot easier to go through and find major flaws like where memory is being mismanaged.
The end, from me.
I like BGT a lot better than autoit. I have programmed in autoIt before. It is one of the worst languages, in my opinion, for making audiogames, with no good sound handling at all.
hmm this is interesting
2 kids, with 2 games, fighting for which games is better.
Right, my 2 cents.
I've coded in autoit, autoit is not for games. It was a pain in the ass to code in it.
I started coding in bgt after that. i made 2 games already, roadsplat and quick tap. you can get them at audiogames.net
and now I will be working on a network game as soon as network functions are availabel for bgt.
I havent played rat attack, but the fact that its in autoit maeks me not want to play it, because it will 1. trigger my antivirus and 2, fuck up my resources.
also i have to say that keywasfull's game, even though it has some bugs it's really great nad he has done a great job creating 3 games.
AutoIt is really crappy. Programming in it was a pain. Do! Not! Program! In! Autoit for games!
well, auto it does have network functions. tried 1.3.2 1 release 2, we could call it?
and as a matter of fact i'll probably set up a server for this on an extra machine of mine and create network functions soon.
If you start using more destructors I will feel safe downloading your game.
I hadn't looked at AutoIt much but ... didn't look like it had classes in the normal sense. I thought it was more an installshield knock-off more than anything else. I don't know anyone using it in development.
that's not the problem. I had something in release 1 that'd keep checking your health with no delay. I added a 15 MS delay to allow the processer to cool.
no wonder my computer ran slow when I started playing tihs. hey, where's the background music during the game? One could adjsut the volume if they don't want it on all the time. It would add more atmosphere to the game. How in the hell are you supposed to avoid those waste pools unless you jump over them by using up arrow?
ah... unlike other key-was-full games and games created by l-works and the like... in rat attack you can't jump... you jusyt have to find health packs and amo quick enough... or just try to stay away.
new v1.4 is in the works! features:rat machine generators commands:
generate rat machine - g
check available generators - n
also:
easy-on-the-processer fix
rat's from the rat machine aren't vanishing and regular. if a rat isn't present now, it'll create a regular rat.
rat attack 1.4 is being uploaded as we speak and should be available by the time you read this.
http://dl.dropbox.com/u/8104423/ratatack.exe
I put rat attack 1.4 on the link above last night. enjoy!
so what do you think?
Wait, so those update you mentioned. You invite the user to basically debug your game. Wow it's great to be part of the process. You should make it open source.
By the way, the link is broken
um. no. that was for another thread... sorry. here's a new link...
http://dl.dropbox.com/u/8104423/ratatack.exe
Got it, thanks.
1.5 is under testing and will soon be released.
Another thing you young tweakers need to learn: you need to get you a beta group, start using SourceForge or similar online repository to manage your code, and your bug reports. You don't want to issue software - even (and especially) games onto the general population without adequate testing. And in the era you're coming up in, source control is often freeware, which won't do you a lick of good unless you learn how to use it. Source control makes or breaks projects left and right. I can't believe they don't teach this shit in the schools! Man! You can track a bug down to a single line change using just the source control tools and, if need be, your local diff.
That and get you an editor with the following capabilities:
- regular expression searching
-find in files
- command-line output
- a macro language / preproc variables something like Lisp or similar where you can specify and handle batch jobs quickly direct from your editor.
Online bug trackers, which are now also free to use, are an excellent way for your testers to report bugs, for you to track them, schedule fixes, and most important, document your changes - not the line-by-line stuff you do with source control but item for item, feature for feature.
Here again, curse them for not teaching this stuff in the schools! I admit I didn't get a CS degree, have been self-made in the biz, but I used to just assume source control / bug tracking were a given / taught by instructors ... but all I can say is ... wow!
rat attack 1.5 released!
check out the new features at this link:
http://dl.dropbox.com/u/8104423/ratatack.exe
I actually wondered the same thing. I idn't think of a beta group, though it's the most logical. Still, I wondered why you'd release something without alot of testing first, to insure that it will run smoothly etc. Still, I'm interested to hear what the reviewers here will say. Once I feel that it's safe, I'll download it and give it a try.
there's nothing to worry about. it's another release of the rat attack games I posted up here earlier.
Please tell me you will fix the rat generator. It slows down game play and the sound is annoying. You should at the verry least allow it to continu while the sound is playing--I'm teaching myself the language so I know it can be done.
Robo is right, and you should release the source for the people interested.
already been done. you should be able to walk right passed the generator with no problem. (fixed in V1.50)
1.5, my bad.
Hurray!
go grab it!
One other thing occurred to me when I was working out last night, you've solved this already:
You need to separate installation from actual program. Unbenounced to me when I first ran this, it created a RatAttack folder on the hard drive for the files.
What you need to do is use Nullsoft Install System or some other freeware installer to a. package your files, b. run an install script which will do a lot for you under the hood like check admin rights, write your GUID for uninstallation, handle registry entries for your user store and much much more. Then your game doesn't have to expand itself / create folders and the like, just run.
And FWIW when you create your projects in source control, while installation belongs to the same root branch it behaves as a dependency for your product.
This is really a must and I can't believe I left it out earlier, just something we take for granted I guess ... but something yet again they're not teaching?
no. I think an expanding game would work better. i'd only have to add one line of code to add an audio file compared to writing an installer every time I add something new.
That doesn't make sense:
You write an installer, which is its own program (generally a high-level script) and you add one line if that, when you add a single file. Unless your installer reads from a directory on compile and takes in all audio files if that's what you want.
Wow. Will I have to run through all these hoops when I create my game with QuickBASIC?
All software should be tested, installed properly, written to deal with trash collection, neat, smallest possibility for RAM and HD; (IE, no repetitions of code when you can put a routine in one place and call it as much as you want), well commented, easy for user installation and use, designed for your target. Sorry if I've missed something. I'm teaching myself too; (starting school soon though), and I've already realized all of this. When I'm working on stuff I first test it myself to see it's performance and functionallity, and only after I'm satisfied it works to my liking, than I'd release it to a beta testing team; (this is the purpose of beta testers). And only after a team of testers have cleared the product; (at least mostly), would I release it. You know, all of us bitch about inaccessibility; (because sighted programmers simply won't take the time), but why should they when we don't take the time to make things good for ourselves, and besides, why should they try when we don't; (this goes for more than accessibility)?
clearly states it. i've been calling let's say the ratmachine function every time I want a rat machine to appear in the random invironment. be aware that 1.6 will be here soon.
I understand Robo's point. I personally do not like using installers and my programs are the type that really do not require them. I can go both ways on the installer issue. I must say, anything that creates a folder without my knowledge is bad news. At least warn the user with a message box saying "such and such will happen"
FOr my games I use inno setup which will create a script and compile it automatically into an installer. Inno is really easy to use. WAm testing v1.5 now.
I have used install shield. All you need to do is add the files/programs you need to be installed on the user's machine and it creates an installer.
v1.5 is alright. You should make the step sound stop when you move left like it does when you move right. The speech is pretty clunky too.
well, V1.6 has been in the works for some time now. this release will have a lot more features than my previous releases. for this reason you'll have to wait a little longer than usual for this one.
Caan you explain what features it will have?
OK! the new version is almost ready. please subscribe to stay informed about the new release.
I have not installed this game for the simple fact that I don't like the idea of my fan suddinly speeding up. while the game is a great idea and I think you need to keep going, maybe it would be a better idea to make a testers group on klango or something a long those lines.
I will not install the new version. I don't need folders being mysteriously created on my hard drive, and I don't need my fan speeding up either, and I don't need a crappy autoIt program either. I've made better programs with autoIt.
good gravy! this thing won't speed up your processer and won't make your fan hot. that was fixed in 1.5. please take a second to try the new version with several inhancements.
you can find it at
http://dl.dropbox.com/u/8104423/ratatack.exe
OK guys! more info on the new release of rat attack. new features:
a little surprise when you beat the game!
bug fixes(a large number...)
portals that can take you up or down(starting on level 2)
new sounds!
check it out:
http://dl.dropbox.com/u/8104423/ratatack.exe
I don't like the mysterious folders.
me neither!
here we go again. every other game has a folder. even battlezone. so, why the heck do you hate this game just because it expands to a folder. 1.7 won't be so mysterious when it expands. so, if you didn't know, rat attack expands to a folder at the following path: c:ratattack which stores sounds for the game and other misc. files.
I don't hate the folder, I hate the fact that the user is not informed of the folder.
I alos think that you should just make an installer for the game bill. It runs, and you wait about 10 seconds for the sounds to be generated. In battlezone everything is in the folder and there is the start menu shortcuts in there too. And if someone wants to uninstall battle zone they just choose uninstall battle zone and that's it. If someone wants to delete rat attack they have to (1) know about the folder, (2) delete the ratattack.exe file, and 3, if they know about the folder, delete it. And Who knows what else is in there. For all I know you created registry entries too. So I will never know when rat attack is really completely gone. Battle zone's uninstall process is quick. There is a little question box that says do you want to uninstall? and you click yep, and it is all automated, and then you click the ok button and whooooooosh, the game is gone!
1, I didn't create registry entries. 2, you've just been informed about the folder, but i'll create a fricken readme that says, warning: this game creates a folder and on and on.
well i don't care becaus i am not going to play the game.
Bill, just add a message box warning about it. It's one line of code for crying out loud and people will feel safe about it.
OK then.
It will help...you'll see.
Also, some people have screwy drive letters, like me, if this folder installs to the C drive by default I won't be able to play it. Ok so my case is probably exceptionally rare but my local disk is H, because a techie who fixed my computer a long time ago added all these removable drives and didn't bother to tell me. There's not a hell of a lot I can do about it at the moment as I can't reformat, so if there's no way the drive letter can be changed I won't be able to play it either. I can't tell you how annoyed I am that I can't play a couple of the old PB games like Dark Destroyer and Tarzan Junior because of this exact problem.
This is why when someone designs software they must consider all possible angles and prepare.
1.6.1 will be released soon. Some new sounds and other general things will be added.
OK all! 1.6.1 is on my machine at the moment. if you want it PM me. 1l.7 will be here on the forums.
Hurray!
OK people. a list of features in store for the next release(rat attack V1.7)
features:
you will not be equipt with any weapons from the start(you have to pick up a lazer gun)
however you can still use a very limited supply of rat machine generators.
new interface for cheat codes, and updated cheatfile
ending level!
i'm open to user feedback. if you have a recommendation just post it up here or PM me.
OK! V1.7 is out. this is a major release. updates:
added: new ending level
changed : some of the music in the game has been modified.
added: transporter sound for ending level.
fixed : ability to cheat in the middle of a death sequence to get some health back. this no longer works.
fixed : not a valid win32 application error. the game was actually being compiled for an x64 machine, this is an x86 version(this game will run on x64 processers too, just with let's call it x86 compatibility mode. )
http://dl.dropbox.com/u/8104423/ratatack.exe
I don't get most of the sounds, excpet for the door opening to let you out.
there's no door opening. you must be running 1.3 or 1.4. in 1.5 that was changed. anyway, the reason why I couldn't put com audio in my game is because I am running a 64-bit machine which won't cooperate with com audio even in compatibility mode. when I get a chance i'll try it out on my 32-bit machine.
OK. I have gotten COM audio to work properly on my 64-bit machine. 1.8 will have com audio and if I can get the ambience to work that as well.
OK. new features that will be in 1.8.
added. position-based interface similar to battle zone.
added: teleports allowing you to move quickly throughout the game(complete with a panning sound)
added : panning level portal sound
removed. portal keys, changed to gold keys that no longer have a purpose
added : navigation device / look feature. tells you your current position and the position of the nearest items and teleport.
added: dependency required: com audio libraries, automaticly installs on launch( with a message box warning you that DLL libraries will be installed)
modified: ending level
fixed : endless teleportation bug
fixed : the requested action with this object has failed error.
Wow this game is really comming along nicely!
You should check out battle zone, margerp.
Perhaps I will.
OK guys! 1.8 has been released and is uploading to my dropbox.
new features:
all changes listed in post 100.
changed. c:ratattack is no longer created. sound files and cheats.txt are now extracted to c:windowstemp(i'll add support for %systemroot%temp support for people with a drive letter other than c:)
added : c:ratattack, if it exists, is now deleated on game quit. temp files in c:windowstemp are not deleted.
by the way, the look feature can be accessed by pressing n.
almost forgot the download link.
http://dl.dropbox.com/u/8104423/ratattack.exe
I can't run the game. I get the following error:
AutoIt Error graphic 798
Line 33 (File "D:UsersRyan66DocumentsGamesratattack.exe"):graphic 775
Error: Variable must be of type "Object".
OK
odd. I can see why you are getting this error. do you see "the DLL libraries have been installed" before the game starts?
actually now that I look at it, you must be using the c: partition. if you have a multiboot system boot up to the c: partition.
No, it doesn't say that. Where can I download the DLL Libraries, or how can I get them?
it's because you don't have a c: partition.
AH, I see. So there's no way I can play the game?
yes. i'll have to get a release out that coppies things to %systemroot%temp in stead of c:windowstemp as it is the most common. yes, I had an install of windows once where my drive letter was h:.
OK! version 1.8.1 will be uploaded to dropbox.
changes:
fixed. no longer uses c:windowstemp, now uses %systemroot%temp. now compatible with non-c partitions!
OK! you can download 1.8.1 here:
http://dl.dropbox.com/u/8104423/ratattack.exe
Write an installer install the program normaly and I may try it. Your users logged on as regular users - not as admin - will have trouble with your scheme as it is. A game should not have to be run as an administrator.
You could check for @admin when the game is run if you want to check that
but, you should know this Margorp, that is precisely why we have what is called a user store: data gets stored in the user's data directories rather than system. The program files are to get installed into the program files directory. Billkd may not know the reasons for this, but I'm pretty confident that you do.
We don't want users getting into the habit of compromising their data and systems like this.
actually, the game shouldn't need to be run as administrator.
that's right, game does not need admin rights to run. it expands itself to %systemroot%temp.
Using variables yes, you are right it won't need admin rights to run. However, many of us have tried and tried for more years than you've been alive to convince users only to run things that install, and many users who don't get viruses. Not saying your program is one, not by a long shot. But here comes niece or nephew to run it, your program works just fine, so they decide Uncle so-and-so is just a scrooge, or I.T. person at work is just being restrictive, and goes and runs other software that doesn't install or use the user store.
I understand you aren't old enough to have lived with or helped someone else get out of the consequences of these types of scenarios, but others on here are, and are even in higher ed for comp sci. I was never a comp sci major, didn't even have access to a computer in college but have been rather self-made. So it surprises me immensely that the education institutions don't severely stress the sorts of things I've brought up here. This costs users and companies untold amounts of money per year in downtime and data recovery. I say surprised out of mind, because if I, a self-made developer / IT professional know this, then certainly they do.
Now add to this the complication that in the blinkosphere, at least from being on here, people blame their reader for every single problem on their computer, the way sighted users blamed their screen in 1996. No further comment on the drastic time lag there, but you really should reconsider and put together an installer for your users, so the program gets stored, and creates the files it needs on install rather than at runtime, and not in temp of all places. Most vbScript-based viruses run from there and you don't want your users making exceptions in their antivirus settings for stuff running out of temp.
They are your users while they are running your software, so they are your responsibility. If the comp sci education establishments don't tell kids that now, that's just too damned bad, because that's the way it is.
Indeed. I always take the time (and very little time it is too) to make a n installer for battle zone, and it installs right into an intuitive location in program files.
Has anyone actually gotten this game to work? I was trying it on windows xp, and got the error message,
AutoIt Error
Line 4 (File "C:Documents and Settings.../Desktopdownloadsratattack.exe"):
Error: The requested action with this object has failed.
OK
Please note: I replaced my username with ... so you didn't know it.